package json

import (
	"encoding/json"
	"origin/entity"
)

// ConvertEntityToJson 将结构体转换为字符串
func ConvertEntityToJson() (string, error) {

	m := entity.Message{Name: "Alice", Body: "Hello", BOdy: "gaox", Time: 1294706395881547000}
	b, err := json.Marshal(m)

	if err == nil {
		s := string(b)
		return s, nil
	}

	return "", err
}

// ConvertJsonToEntityForPrint 将json转换为结构体并输出
func ConvertJsonToEntityForPrint(jsonStr string) (entity.Message, error) {
	str := []byte(jsonStr)
	var me entity.Message

	err := json.Unmarshal(str, &me)
	if nil == err {
		return me, err
	}

	// panic 让golang程序马上停止执行，慎用
	//除非极端情况程序将带来很多问题或者发生了无法处理的错误
	panic(err)
}
